/**
 * 闭包:
 *  1.全局变量的特点: 常驻内存,全局变量会污染全局
 *  2.局部变量的特点: 不会常驻内存,会被垃圾回收机制回收,不会污染全局
 *
 *  闭包则实现了以下2点:
 *  1.常驻内存(不会被垃圾回收)
 *  2.不会污染全局
 */

void main(){
  fn(){
    var num=123; //不会污染全局,会常驻内存
    return () {
      num++;
      print(num);
    };
  };
  var f = fn();
  f();
  f();
  f();
}